Point of sale (POS) terminals allow customers to make payments using a variety of payment instruments such as credit cards, debit cards, smart cards, and ATM cards. To ensure that the payment information transmitted from the POS terminals to a payment center is not accessed by unauthorized recipients, this information is typically encrypted and secured (e.g., using digital authentication) during transmission. However, confidential payment information entered by the user into the POS terminal could still be intercepted by tampering with the integrated circuits of the POS terminal. Thieves can use such information to fraudulently receive payment. Erasing a memory of the POS terminal that stores confidential information is a common way to prevent unauthorized access to confidential information.
In one known technique to overwrite a memory, a state machine is used to sequence through all cell locations in the memory and the state machine causes a value to be written to each cell of the memory (RAM). Overwriting of each cell is timed according to a clock signal. One drawback with this technique is that the memory clear operation takes too many clock cycles to complete.
In another known technique for erasing a memory array, all word lines are activated for a random access memory (RAM) and a logic value of zero is asserted to all bit lines to overwrite the contents of all RAM cells to the asserted logic value. In this technique, delay elements are placed between arrays of memory cells so that each array of memory cells is overwritten to a logic value of zero after a delay. For example, U.S. Pat. No. 4,949,308 describes such a technique. An array of memory cells is cleared more effectively if all of the bits are first written to a logic one and then written to a logic zero. One disadvantage with the technique described in U.S. Pat. No. 4,949,308 is that the memory cells are overwritten with a zero value and there is no flexibility to choose a value or sequence of values used to overwrite memory cells.